Racing Game


Info

Un giorno, pensando ai vari progetti realizzati, ho pensato: "Oh, ma non ho mai creato un gioco di corsa!" In quel momento ho iniziato a fare delle ricerche per capire quale fosse il metodo più adatto per realizzarne uno. Stufo dei soliti tutorial e del solito materiale che potevo reperire su internet, ho deciso di intraprendere comunque il percorso relativo a questo progetto, concretizzandolo nella maniera che ritenevo più adatta. A causa della mancanza del tempo necessario a creare qualcosa di realistico come un simulatore di guida, mi sono ispirato a Mario-Kart, in quanto si tratta di un gioco di corsa realizzato in stile cartoonesco, e non realistico. L'ispirazione che ne ho tratto mi ha portato a creare un sistema di "abilità combo" in cui è necessario collezionare 2 abilità dello stesso tipo al fine di attivarle. La meccanica di gioco in azione è visibile nella GIF alla destra di questo paragrafo, dove vengono illustrate le abilità dello speed boost e del missile.

Aspetti Tecnici

Ho voluto creare una IA che potesse controllare la stessa struttura di veicolo utilizzata dal player, in modo tale da farlo adattare autonomamente a qualsiasi scenario; questo mi ha portato a non poter aggiungere nulla nella pista che avrebbe comunicato all'IA quale sarebbe stato il prossimo punto da raggiungere. Ho copiato il Character Controller del player che ho programmato prima di creare l'IA e ho rimosso gli input da tastiera, mettendo in evidenza le variabili di accelerazione e sterzata, chiamando lo script "Vehicle". Dopodiché, ho creato lo script "Vehicle AI" che si comporta come un pilota artificiale che rileva l'ambiente che lo circonda tramite Raycasting. Nella GIF animata si possono osservare diversi raycast, utili per ottenere informazioni sulla strada che si trova affianco ad essi, la distanza fra il veicolo e la prossima curva, la larghezza della curva e il suo angolo; tutte queste informazioni unite poi servono per ottenere l'approccio più ottimale per guidare senza rallentare o accelerare in modo eccessivo.

Il futuro del progetto

Al momento, non sono in grado di stabilire il futuro di questo progetto. Potrebbe diventare qualcosa di ufficiale come potrebbe rimanere in questo stato. L'ho creato puramente per divertimento, e mi è servito come una buona esperienza di studio, poichè mi sono messo in gioco per creare qualcosa che non avevo mai tentato di realizzare prima, utilizzando principalmente asset placeholder creati da me.